In production, users of an application can encounter performance problems. The whole application chain then has to be analyzed by searching for the causes of this performance degradation. Analysis especially proceeds via observation of consumption of resources of different servers which comprise the linking chains to detect any saturation of these resources.
It should also be able of comparing the use of these resources when the performance problem(s) occur to ensure that it is always the same problem being faced. In fact, a performance problem generally manifests via a characteristic imprint on the servers of the application chain. If the imprints are similar, it is probable that they are the manifestation of the same application processing.
The use of resources should also be compared when the problem occurs, with the use of resources when the problem is not present to detect the remarkable phenomena characterizing performance degradation.
There are solutions for monitoring servers, but as a single unit.
Application US 2012089724 discloses a system for analyzing performance of a server. A command is sent repetitively over time to the operating system of a server to return a value representative of the consumption of a resource consumed by one or more threads or light processes. The values returned are stored and used to generate a graph for identifying phases of task breakdown and latency periods.
But this system requires repetitive sending of a command and detects only task breakdown and latency periods without being able to deduce correlations. Also, this system therefore requires the sending of repetitive commands which congest the network. Finally, the repetition frequency of commands may not coincide with the start of a performance degradation period, which can generate a loss of information or precision.
Application US2003074161 discloses a system for controlling and evaluating the performance of an application accessible via network, comprising one or more load servers, each capable of simulating the load imposed on the application server by one or more clients. Load servers are configured to execute a particular sequence of server requests so as to evaluate the operation of the server under a specific load. Various performance metrics associated with the functioning of the network and the application server are measured during testing of the server and these metrics are stored with the time when they were measured, to be accessible later by an analysis module identifying correlations between measurements.
But this system is used in the test phase and not in real time and also involves the load simulation and not real load. Therefore, it does not observe the symptoms on an application linking chain during performance degradation events.
Application US 2012/0185735 A1, teaches a method of determining a root cause of a performance problem, which comprises analyzing a plurality of performance indicators/metrics in a first time period and determining that at least one performance indicators/metrics is exhibiting abnormal behavior. The method further comprises analyzing the plurality of performance indicators/metrics over a second time period, the second time period is longer than the first time period, and determining trend information for each performance indicators/metrics over the second time period. The method further comprises correlating the trend information for each performance indicators/metrics with performance problem information stored in a knowledge base, identifying a potential cause of the abnormal behavior based on the correlation, and alerting a user of the potential cause.
However in this document, there is stated that an administrator intervenes in the analysis of indicators/performance metrics. Therefore, the process of determining the performance problems is not carried out in real time as in the previous application.
Moreover, determining the trends of the indicators/metrics is based on threshold values set by the administrator. Therefore, detecting a root cause of a performance problem highly depends on the choice of said administrator.